Root Zanli
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
o5t6x7pgljbm
/
public_html
/
admin
/
app
/
V2
/
Repositories
/
Filename :
DocuLockerRepository.php
back
Copy
<?php namespace App\V2\Repositories; use App\Models\DocuLocker\UploadedDocument; use App\V2\Dtos\FilterDocuLockerDto; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Log; class DocuLockerRepository extends BaseRepository { public function filterDocuLockerDocs(FilterDocuLockerDto $filterDto){ $queryBuilder = UploadedDocument::query(); if($filterDto->getCurrentUser() != null){ $queryBuilder->where('user_id', $filterDto->getCurrentUser()->user_id); } if($filterDto->getUploadedDocumentIds() != null){ $queryBuilder->whereIn('document_id', $filterDto->getUploadedDocumentIds()); } if($filterDto->getUploadedDocumentUUIDs() != null){ $queryBuilder->whereIn('document_uuid', $filterDto->getUploadedDocumentUUIDs()); } if($filterDto->getDocuLockerId() != null){ $queryBuilder->where('locker_id', $filterDto->getDocuLockerId()); } if($filterDto->getSearchKeyword() != null){ $queryBuilder->where('file_name', 'LIKE', '%'.$filterDto->getSearchKeyword().'%'); } //Sorting and ordering $order_by_column = 'document_id'; $order = 'DESC'; if($filterDto->getOrder() != null){ $order = $filterDto->getOrder(); } if($filterDto->getOrderByColumn() != null){ $order_by_column = $filterDto->getOrderByColumn(); } $queryBuilder->orderBy($order_by_column, $order); // Log::debug("SQL to get Documents: ". $queryBuilder->toSql()); // Log::debug("Values for Sql:" . print_r($queryBuilder->getBindings(), true)); //limits and pagination if($filterDto->getLimit() != null) $queryBuilder->limit($filterDto->getLimit()); if($filterDto->getPageNo() != null) return $queryBuilder->paginate($filterDto->getLimit(), ['*'], 'page', $filterDto->getPageNo()); else return $queryBuilder->get(); } } ?>